package com.zerui.manager.web;

import com.zerui.cola.dto.PageResponse;
import com.zerui.cola.dto.Response;
import com.zerui.cola.dto.SingleResponse;
import com.zerui.devicemanager.provider.dto.PositionNodeDTO;
import com.zerui.devicemanager.provider.dto.SummaryDTO;
import com.zerui.manager.web.cmd.*;
import com.zerui.manager.web.vo.DevicePageVO;

import java.text.ParseException;
import java.util.List;

/**
 * @Author wh
 * @create_time 2023-08-23 11:07
 */
public interface DeviceService {

	SingleResponse<List<PositionNodeDTO>> getProductTree();

	PageResponse<DevicePageVO> getPageDeviceList(DeviceInfoCmd deviceInfoCmd);

	SingleResponse<SummaryDTO> statistics(DeviceInfoCmd deviceInfoCmd);

	SingleResponse<Long> modifyStatus(Long id);

	Response update(DeviceUpdateCmd deviceUpdateCmd);

	Response operateDoor(DeviceOperateDoorCmd deviceOperateDoorCmd);

	void deleteDeviceById(Long deviceId);

	Response curfewTime(DeviceCurfewTimeCmd deviceUpdateCmd) throws ParseException;

	Response curfewOpenOrClose(DeviceCurfewOpenOrCloseCmd deviceCurfewOpenOrCloseCmd);


}
